The Global Positioning system (GPS) is a collection of twenty-four earth-orbiting satellites. Each of the GPS satellites travels in a precise orbit about 11,000 miles above the earth's surface. A GPS receiver locks onto at least three of the satellites to determine its precise location. Each satellite transmits a signal modulated with a unique pseudo-noise (PN) code. Each PN code is a sequence of 1023 chips that are repeated every ms consistent with a chip rate of 1.023 megahertz (MHz). Each satellite transmits at the same frequency. For civil applications, the frequency is known as L1 and is 1575.42 MHz. The GPS receiver receives a signal that is a mixture of the transmissions of the satellites that are visible to the receiver. The receiver detects the transmission of a particular satellite by correlating the received signal with shifted versions of the PN code for the satellite. If the level of correlation is sufficiently high so that there is a peak in the level of correlation achieved for a particular shift and PN code, the receiver detects the transmission of the satellite corresponding to the particular PN code. The receiver then uses the shifted PN code to achieve synchronization with subsequent transmissions for the satellite.
GPS employs a unique time keeping system. GPS time is kept in terms of seconds and weeks since Jan. 6, 1980. There are 604,800 seconds per week. Therefore, GPS time is stated in terms of a time of week (TOW) and a week number. TOW ranges from 0 to 604800, corresponding to the number of seconds in a week. The week number started with week zero on Jan. 6, 1980 and is currently in excess of one thousand weeks. The TOW can have a fractional part, particularly when oscillators provide a resolution of 1/32,768th of a second (an oscillation frequency of 32 kilohertz, or kHz), or when the GPS time is computed from range measurements relative to a specific clock epoch. GPS time can have accuracy on the order of a few tens of nanoseconds. GPS time is fundamental to the GPS system.
During the initial determination of position of the GPS receiver unit, a “cold start” process is initiated. For a cold start, the GPS receiver begins the acquisition process without knowledge of GPS time, GPS position or ephemeris data for the GPS satellite orbits. Therefore, the GPS receiver unit searches for all satellites over a wide range of possible frequencies. In some situations, almanac data is also unknown for the GPS satellites. Eventually, after many seconds, at least four satellite signals are acquired. The satellites' PN encoded signals identify each of the satellites and each satellite transmits ephemeris data. Ephemeris data includes precise orbital information, for example orbital location as a function of GPS time, for that satellite.
If some information is known prior to acquisition, the time to acquire sufficient information from the GPS satellites for navigation can typically be reduced. For example, a “warn start” process may be used if almanac data, approximate GPS time and approximate receiver position allow approximate satellite locations and Doppler shifts to be calculated. A “hot start” process may be used if the ephemeris, approximate GPS time and approximate receiver position are known so that approximate satellite locations and Doppler shifts can be calculated and the time to collect ephemeris data can be avoided. However, a complete six-second sub-frame of data from at least one satellite is required in order to establish time with sufficient accuracy to compute a navigation solution.
The GPS receiver unit determines its distance from each satellite by determining the code phase of the transmission from each satellite. The code phase (CP) is the delay, in terms of chips or fractions of chips, that a satellite transmission experiences as it travels the approximately 11,000-mile distance from the satellite to the receiver. At each satellite, the time of transmission of each PN chip is controlled down to a few nanoseconds. Consequently, knowledge of precise GPS time allows the GPS receiver unit to know exactly what chip of a satellite's waveform is being transmitted at any given time. If the arrival of a given chip at a receiver is measured relative to a local timing epoch, such as the T20 epoch, then the propagation time of that chip from the satellite to the GPS receiver unit can be measured as accurately as GPS time at that T20 epoch is known. If the propagation times from each of four satellites are measured relative to the same T20 epoch, then the GPS receiver unit can solve for the location of the receiver in three-dimensional space, along with the error in the value of GPS time at the reference T20 epoch.
The GPS receiver unit precisely determines the distance to the satellite by multiplying the time delay by the velocity of the transmission from the satellite. The GPS receiver unit also knows the precise orbits of each of the satellites. Updates of the locations of the satellites are transmitted to the receiver by each of the satellites. This is accomplished by modulating a low frequency (50 Hz) data signal onto the PN code transmission from the satellite. The data signal encodes the time-dependent positional information for the satellite and the time errors in its on-board clock in the ephemeris data subframes. Precise time of each satellite's transmission is given in each six-second data sub-frame relative to a reference chip at the start of the next sub-frame.
Conceptually, the receiver uses the estimated range from a satellite to define a sphere around the satellite upon which the receiver must be located. The radius of the sphere is equal to the range to the satellite the receiver has determined from the code phase. The receiver performs this process for at least three satellites. The receiver derives its precise location from the points of intersection between the at least three spheres it has defined. Measurements from three satellites are sufficient if the receiver knows the altitude at its location. When the altitude is unknown, measurements from four satellites are required so that altitude can also be solved for, along with latitude, longitude and the error in the local clock measurement epoch (e.g., GPS time at the T20 epoch).
The detection of the signals from each satellite can be accomplished in accordance with a GPS signal detector that is disclosed in, for example, but not limited to, U.S. patent application Ser. No. 09/281,566, entitled “Signal Detector Employing Coherent Integration”, filed on Mar. 30, 1999, which is incorporated herein by reference. A signal detector as disclosed therein may use a correlation mechanism, for example a matched filter, and a coherent integration scheme to detect the appropriate satellite signals.
Once the satellite signals are detected, the low frequency 50 Hz data that is modulated onto the PN code signal received from the satellite is decoded to determine the precise location of the GPS receiver unit. Conventional location determination processes require several seconds to complete. These conventional schemes typically run continually, thus consuming valuable processor resources. This is especially disadvantageous in the case of GPS receiver unit with very limited power resources, such as a portable GPS receiver unit. Portable GPS receiver units may be designed such that selected components may be shut off, or powered down, during periods when the user is not querying the GPS receiver unit for location information. When the user (or an automated process) queries the GPS receiver unit, the GPS receiver unit reactivates the powered down components and reacquires satellite data to determine the current location. If the user's location has not changed significantly, and/or if the shut down period has been sufficiently short, it may be possible to reacquire the previous satellite signals and achieve nearly immediate correlation of the code phase data (rather than the several seconds to minutes associated with the hot, warm or cold start procedures). Nearly immediate correlation of the code phase data saves several seconds, thereby saving a substantial amount of the limited power available in a portable GPS receiver unit.
However, reacquisition of the satellite signals with nearly immediate correlation of the code phase data requires precise time keeping during the period the receiver is off. More particularly, the GPS oscillator and timing system must maintain accuracy of the various clocking signals in the GPS receiver unit to within ±0.5 ms to avoid losing track of which PN code period within the overall GPS signal structure the receiver expects to receive at reacquisition. This 0.5 ms criterion corresponds to one half of a 1 ms code period. In addition, movement of the GPS receiver unit introduces error that may be associated with timing of the PN code signals. If the accuracy of the clocking signals plus the error introduced by movement of the GPS receiver unit can be maintained to within ±0.5 ms of the incoming PN code signals, the time consuming and power consuming process of determining location using the hot, warm or cold start procedures may be avoided because the GPS receiver unit matching filters can immediately lock onto the four previously acquired satellite PN code signals and know which PN code period of the signal structure has been acquired. Otherwise, the hot, warm or cold start procedures must be used, depending on the prior information (e.g., almanac, ephemeris, GPS time, and receiver position) that was preserved while selected receiver components, or the entire receiver, were powered down.
Typically, a conventional real time clock (RTC) circuit may be used to maintain rough GPS time while the rest of the GPS circuitry is off. Typical RTC circuits may maintain accuracy of a few seconds over extended periods. Such accuracy is adequate for hot and warm starts. However, the accuracy of a conventional real time clock degrades rapidly below the +/−0.5 ms level due to poor stability and temperature characteristics of typical low cost, low power RTC circuits. Therefore, even after a very brief time, a hot start is required.
Maintaining accuracy of the various clocking signals in the GPS receiver unit to within ±0.5 ms (one half of a 1 ms code period) is not possible with a conventional GPS oscillator and timing system if the oscillator is powered down between navigation updates. However, since the GPS oscillator and the associated timing system consume significant power, powering down these components is very desirable in a portable GPS receiver unit to conserve power resources.
Under some circumstances, the real time clock may stop altogether due to partial or total loss of the local power source. If the RTC is not operating at all, it is evident on start-up that a cold start procedure should be used to acquire satellites. Under other circumstances, the RTC may seem normally operational on start-up, but may be inaccurate because it has experienced partial power loss, or a brownout condition that caused the RTC to miss cycles. For example, a battery used to power the RTC may provide inadequate power levels because it is near the end of its life or because it is subjected to temperatures beyond its operating range. This is especially problematic when the time from the RTC is transferred to the GPS clocking scheme to support rapid acquisition. If incorrect RTC time is relied on, incorrect range measurements result. Using incorrect range measurements in a navigation solution results in an incorrect position calculation.
One prior RTC failure detector includes a circuit correctly sets a status flip-flop when the RTC backup power is applied. Usually, this backup power is a small battery. Hence, the circuit can accurately detect when the backup battery is replaced. This is a relatively useless feature. The user knows the battery is being replaced. A set up routine may be invoked after battery replacement to set the time.
Prior art methods of RTC failure detection that essentially monitor voltage levels are particularly inadequate when the battery is near its end of life or when the battery is subjected to wide variations in temperature. For example, the GPS receiver may be placed in a car in a cold environment. The battery voltage and current capability may decline in this condition so that the RTC oscillator stops. The user may then take the receiver, place it in an inside jacket pocket and take a hike. The receiver warms up enough that the battery recovers its capacity and the oscillator restarts. When the user attempts to use the receiver, the receiver makes the usual checks. The RTC appears to be running, because time is incrementing. The battery backed RAM (usually on the same battery as the RTC) has good checksums because the RAM retains its contents to much lower voltages than the RTC oscillator needs for operation. The RTC oscillator failure FF indicates good status, because the voltage did not fall below the reset threshold and because the logic may retain its valid state at lower voltages than the oscillator requires for operation. Hence, the receiver tries to use the RTC value, assuming it is good, and produces an incorrect solution because the time was in fact in error. The receiver takes longer to produce a solution, or worse yet, continues to produce bad solutions.
In theory, if the status flip-flop failure detection voltage threshold could be set accurately, the failure would be detected. This is difficult for a number of reasons. One wants to set the threshold as low as possible so that the battery life is maximized. This means the threshold must be precise and that it must respond to different oscillator requirements for oscillation. These different conditions can be a function of the particular crystal, the temperature and circuit parameter variations over manufacturing process variations and so on. Hence, some margin in the threshold has to be provided, shortening the useful battery life. Even with a margin, some failure events may occur on a statistical basis.
It is desirable to have a method and apparatus for GPS navigation can be operated to conserve power resources by powering down selected components when they are not in use, yet can quickly acquire satellites on start-up using a real time clock th at operates continuously. It is further desirable to have an RTC clock failure detection circuit that reliably detects oscillator failure without compromising battery life.